Rangeless servo notch optimization

ABSTRACT

A method for placing a predetermined number of notch filters in a disc drive servo control system to attenuate noise frequencies, in order of decreasing resonance magnitudes, is disclosed. The method involves calculating an open loop response for a response spectrum of the drive, calculating a notch filter for any noise frequency that exceeds a threshold, mathematically applying the notch filter into the servo control system, recalculating the open loop response and applying another filter for a noise frequency that exceeds the threshold and repeating until no noise frequencies exceed the gain threshold; selecting another frequency range and repeating the same process until a predetermined number of notch filters has been placed in the servo control system.

RELATED APPLICATIONS

[0001] This application claims priority of U.S. provisional applicationSerial No. 60/347,593, filed Jan. 11, 2002.

FIELD OF THE INVENTION

[0002] This application relates generally to data storage device servocontrol systems and more particularly to a method for optimizing notchfilter placement in a servo control system such as is typically used ina disc drive to control positioning of a transducer over a rotatingstorage medium.

BACKGROUND OF THE INVENTION

[0003] Notch filters are placed in the track following and seekingcontrol loops in conventional servo control systems to help stabilizethe actuator mechanics. These notch filters are typically mathematicallyimplemented in algorithms defined in the drive control firmware. Theparticular placement parameters utilized in these notch filteralgorithms may be stored in the boot record on the disc or permanentlystored in the firmware. To compensate for drive-to-drive variations,notch filter placement is customized for each drive and each head withina drive. Since each head in every drive requires its own set of specificnotch filters, notch filter placement is accomplished as part of amanufacturing test process that customizes, tunes, and validates everydrive.

[0004] Servo Notch Optimization (SNO) is the portion of the postassembly manufacturing test process that places the notch filters. Dueto memory limitations, the factory test systems that perform thisportion cannot acquire the necessary number of data points to optimizethe entire frequency range of interest in disc drive operation. Thus,the current SNO requires that the frequency spectrum of each head bedivided into a series of smaller ranges. The SNO process then placesonly one notch per sub-range. Ideally, each sub-range will only containone resonance peak that needs to be notched since the current SNOprocess only allows one notch per range.

[0005] The current conventional SNO process has several shortcomings.First, it requires prior identification of the resonances that willrequire notch filters. Second, it requires that the center frequency ofthe previously identified resonances be consistent from drive to drive.Third, as previously mentioned, the SNO process only allows for onenotch per range. The current conventional SNO process is inadequate, dueto drive-to-drive frequency variations and the one notch per sub-rangelimitation, in the case of double peaked resonances that require twonotches for appropriate coverage. Accordingly there is a need for a moreversatile method for notch filter placement in a disc drive controlscheme. The present invention provides a solution to this and otherproblems, and offers other advantages over the prior art.

SUMMARY OF THE INVENTION

[0006] Against this backdrop the present invention has been developed.The rangeless SNO method in accordance with the present inventionessentially works by creating a circular memory buffer within the SNOprocess. The buffer length is preferably equal to the allotted memory inthe factory test system. At each frequency point contained in the memorybuffer, the SNO algorithm measures the structural and compensatorresponses of the drive, mathematically computes the open loop response,and compares the output to a gain threshold. If the open loop responseexceeds the gain threshold, a peak detect algorithm finds the resonancepeak, determines the required filter parameters for this peak, andplaces a notch filter centered on the resonance. Once placed, thenotches are mathematically applied to all frequency points in the memorybuffer and the open loop response is re-calculated. The re-calculatedopen loop response (with the first iteration notches incorporated) isthen again compared to the same gain threshold and notches are placeduntil every point in the buffer is below the gain threshold. Once allpoints in the buffer pass below the threshold, the frequency range ofthe buffer is shifted to a new frequency range and the process isrepeated. Once the entire frequency range of the drive has been tested,the gain threshold is lowered and the entire process is repeated.Basically this iterative process continues until all available notchesare placed. The result is that notches are placed in order from thelargest resonance peaks to the smallest resonance peaks for theavailable notch filters. In this manner, the available filters arealways optimally placed.

[0007] These and various other features as well as advantages whichcharacterize the present invention will be apparent from a reading ofthe following detailed description and a review of the associateddrawings.

BRIEF DESCRIPTION OF THE DRAWINGS

[0008]FIG. 1 is a plan view of a disc drive incorporating a preferredembodiment of the present invention showing the primary internalcomponents.

[0009]FIG. 2 is a block diagram of the servo control system of the discdrive shown in FIG. 1 in accordance with a preferred embodiment of thepresent invention.

[0010]FIG. 3 is an operational flow chart of the optimization process inaccordance with a preferred embodiment of the present invention.

[0011]FIG. 4 is a bode plot of a disc drive with conventional servonotch placement.

[0012]FIG. 5 is a bode plot of a disc drive response with servo notchplacement performed in accordance with a preferred embodiment thepresent invention.

DETAILED DESCRIPTION

[0013] A disc drive 100 constructed in accordance with a preferredembodiment of the present invention is shown in FIG. 1. The disc drive100 includes a base 102 to which various components of the disc drive100 are mounted. A top cover 104, shown partially cut away, cooperateswith the base 102 to form an internal, sealed environment for the discdrive in a conventional manner. The components include a spindle motor106 which rotates one or more discs 108 at a constant high speed.Information is written to and read from tracks on the discs 108 throughthe use of an actuator assembly 110, which rotates during a seekoperation about a bearing shaft assembly 112 positioned adjacent thediscs 108. The actuator assembly 110 includes a plurality of actuatorarms 114 which extend towards the discs 108, with one or more flexures116 extending from each of the actuator arms 114. Mounted at the distalend of each of the flexures 116 is a head 118 which includes an airbearing slider enabling the head 118 to fly in close proximity above thecorresponding surface of the associated disc 108.

[0014] During a seek operation, the track position of the heads 118 iscontrolled through the use of a voice coil motor (VCM) 124, whichtypically includes a coil 126 attached to the actuator assembly 110, aswell as one or more permanent magnets 128 which establish a magneticfield in which the coil 126 is immersed. The controlled application ofcurrent to the coil 126 causes magnetic interaction between thepermanent magnets 128 and the coil 126 so that the coil 126 moves inaccordance with the well known Lorentz relationship. As the coil 126moves, the actuator assembly 110 pivots about the bearing shaft assembly112, and the heads 118 are caused to move across the surfaces of thediscs 108.

[0015] The spindle motor 106 is typically de-energized when the discdrive 100 is not in use for extended periods of time. The heads 118 aremoved over park zones 120 near the inner diameter of the discs 108 whenthe drive motor is de-energized. The heads 118 are secured over the parkzones 120 through the use of an actuator latch arrangement, whichprevents inadvertent rotation of the actuator assembly 110 when theheads are parked.

[0016] A flex assembly 130 provides the requisite electrical connectionpaths for the actuator assembly 110 while allowing pivotal movement ofthe actuator assembly 110 during operation. The flex assembly includes aprinted circuit board 132 to which head wires (not shown) are connected;the head wires being routed along the actuator arms 114 and the flexures116 to the heads 118. The printed circuit board 132 typically includescircuitry for controlling the write currents applied to the heads 118during a write operation and a preamplifier for amplifying read signalsgenerated by the heads 118 during a read operation. The flex assemblyterminates at a flex bracket 134 for communication through the base deck102 to a disc drive printed circuit board (not shown) mounted to thebottom side of the disc drive 100.

[0017] Referring now to FIG. 2, shown therein is a functional blockdiagram of the disc drive 100 of FIG. 1, generally showing the mainfunctional circuits which are resident on the disc drive printed circuitboard and used to control the operation of the disc drive 100. The discdrive 100 is operably connected to a host computer 140 in a conventionalmanner. Control communication paths are provided between the hostcomputer 140 and a disc drive microprocessor 142, the microprocessor 142generally providing top level communication and control for the discdrive 100 in conjunction with programming for the microprocessor 142stored in microprocessor memory (MEM) 143. The MEM 143 can includerandom access memory (RAM), read only memory (ROM) and other sources ofresident memory for the microprocessor 142.

[0018] The discs 108 are rotated at a constant high speed by a spindlemotor control circuit 148, which typically electrically commutates thespindle motor 106 (FIG. 1) through the use of back electromotive force(BEMF) sensing. During a seek operation, wherein the actuator 110 movesthe heads 118 between tracks, the position of the heads 118 iscontrolled through the application of current to the coil 126 of thevoice coil motor 124. A servo control circuit 150 provides such control.During a seek operation the microprocessor 142 receives informationregarding the velocity of the head 118, and uses that information inconjunction with a velocity profile stored in memory 143 to communicatewith the servo control circuit 150, which will apply a controlled amountof current to the voice coil motor coil 126, thereby causing theactuator assembly 110 to be pivoted.

[0019] Data is transferred between the host computer 140 or other deviceand the disc drive 100 by way of an interface 144, which typicallyincludes a buffer to facilitate high-speed data transfer between thehost computer 140 or other device and the disc drive 100. Data to bewritten to the disc drive 100 is thus passed from the host computer 140to the interface 144 and then to a read/write channel 146, which encodesand serializes the data and provides the requisite write current signalsto the heads 118. To retrieve data that has been previously stored inthe disc drive 100, read signals are generated by the heads 118 andprovided to the read/write channel 146, which performs decoding anderror detection and correction operations and outputs the retrieved datato the interface 144 for subsequent transfer to the host computer 140 orother device. Such operations of the disc drive 100 are well known inthe art and are discussed, for example, in U.S. Pat. No. 5,276,662issued Jan. 4, 1994 to Shaver et al.

[0020] During the manufacturing process, after the disc drive 100 isfully assembled, the drive is placed in a test fixture. The drive isenergized in accordance with a predetermined sequence of operations andthe structural response of the drive is measured. The rangeless servonotch optimization (RSNO) routine is then performed on the disc drive aswill be more fully explained below.

[0021] The operational steps of the RSNO process in accordance with theinvention are shown in FIG. 3. The SNO process begins in operation 302where a structural frequency response for a drive 100 under test ismeasured. Control then transfers to operation 304, where the initialfrequency sub-range for the operating disc drive is set. The sub-rangesare set based on the capacity of the memory buffer of the test equipmentbeing utilized for the RSNO process. If the memory buffer is largeenough, only one range may be needed. However, typically, severalsub-ranges must be used to adequately cover the structural responsespectrum of the drive 100. It should also be noted here that the numberof available notches that can be utilized is a compromise. Each notchessentially leaches phase margin and thus the more notches one choosesto use, the more phase margin that is lost. If too much phase margin islost, the drive system response becomes unstable. Thus too many notcheslead to an unstable drive.

[0022] Once the initial sub-range is established, control transfers tooperation 306. In operation 306, the frequency range for the buffer isupdated. As this is the first time through the sequence of operations,the update is simply the initial frequency range set in operation 304.Control then transfers to operation 308.

[0023] Operation 308 fills the memory buffer with the structuralresponse spectra and compensator response spectra that will beevaluated. Once again, the size of the memory buffer depends on theavailability of memory in the factory test equipment and is typically onthe order of 200-500 kilobytes, which is adequate to store the responsemeasured in the frequency range set in operation 304 and 306. Controlthen transfers to operation 310.

[0024] In operation 310, the notch algorithm is utilized tomathematically apply the notches that have been determined in theprevious operations. As this is the first time through, no notches areapplied. Control then transfers to operation 312 where the open loopresponse for the content of the memory buffer, with notches applied, ifany, is determined. Again, during this first pass, the open loopresponse will have no notches applied. Control then passes to queryoperation 314.

[0025] Query operation 314 examines the open loop response justcalculated and determines whether any portion of the open loop responseexceeds a gain threshold. As this is the first time through, the gainthreshold is set to a relatively high preset value. If the answer toquery operation 314 is yes, control passes to operation 318 in which themaximum peaks are identified. On the other hand, if the answer is no,control passes to operation 316 and the frequency range for the bufferis changed. In this instance, control then passes back to operation 306where a new frequency range is set for the buffer, and operations308-314 are repeated.

[0026] However, since again, this is the first time through thesequence, the answer in query operation 314 will be yes, thus controlpasses through operation 318 where the maximum peaks are identified andthen to query operation 320. Here the question is asked whether thenumber of notches already placed is equal to or exceeds the maximumnumber of notches permitted. This maximum is determined based on thesensitivity of the drive control system and the acceptable minimum phasemargin that can be tolerated. If the maximum number has been reached,control passes to Return 332 and the process is complete. As this is thefirst time through, though, no notches have been placed, and thus theanswer to query operation 320 is no, and control passes to operation324.

[0027] Operation 324 calculates the notch filter parameter or parametersthat are used to mathematically arrive at the notch frequency and thisnotch is placed in the servo control system. Control then passes tooperation 310, where the notch calculated is mathematically applied.Operations 312 and 314, 318 and 320 are then repeated until there are nomore notches to be placed, i.e. the open loop response is less that thegain threshold in operation 314. Control then transfers to operation316, the frequency range is changed, and control moves to queryoperation 326.

[0028] Query operation 326 asks the question whether the maximumfrequency in the new range is greater than the predetermined upperfrequency limit of the drive. If it is, then the frequency range isreset back to the initial frequency range in operation 328, the gainthreshold is reset to a lower value in operation 330, and controltransfers back to operation 306 where the frequency range for the bufferis again updated. On the other hand, if the maximum frequency in the newrange is less that the upper frequency limit of the drive, controltransfers directly back to operation 306 without lowering the gainthreshold and operational steps 306 through 324 are repeated as manytimes as needed to place all the notches in this sub-range.

[0029] When the response to query operation 314 is again no, and thefrequency range is changed again in operation 316, control returns tooperation 326 etcetera until either all peaks have been notched or thereare no more notches. In reality, not all peaks will be notched, as thegain threshold keeps getting reduced with each cyclic iterationsequence, and thus all available notches will in fact be used, andcontrol will transfer to operation 332 and return to main testingcontrol, thus completing the RSNO process for the drive under test.

[0030] The impact of utilizing the notch placement scheme in accordancewith the present invention is illustrated clearly by comparing the Bodeplots shown in FIGS. 4 and 5. A disc drive Bode plot 400 for a discdrive in which the notch filters were placed in accordance with aconventional SNO placement scheme is shown in FIG. 4. In this case, thesolid line 402 represents the structural response of the disc drive in afrequency range of 0 to 20,000 hertz (Hz). The dashed trace line 404represents the open loop response. The dotted line 406 represents thecompensator response with all notches placed. The dips in the dottedtrace 406 indicate the placement of the notch filters. In this case, anotch filter is placed at about 5900 Hz, 7100 Hz, 11,000 Hz, 12,000 Hz,15,000 Hz, and 15,800 Hz. The filter placed at 5900 Hz compensates for apeak at about 5700 Hz. The filter placed at 7100 compensates for a peakat the same frequency. The filter placed at 11000 is essentially betweendouble peaks at about 10700 and 11200. The filter at 12000 is off peak.The next filter isn't until 15000 and thus misses entirely the peaks at13000 and 13800.

[0031] In contrast, a Bode plot 500 for a disc drive having notchfilters placed in accordance with the present invention shows that thefilters are relatively accurately placed about the peaks. Again, thesolid line trace 502 represents the raw structural response. The dashedline trace 504 represents the open loop response. The dotted line trace506 represents the compensator response with all notch filters placedper the method described above with reference to FIG. 3. The structuralresponse has a peak at 6000, 7100, 8000, 10000, a double peak at 11400and 11800, and a peak at 15200. Note that the filters are placed at7100, 8000, 10000, 11400 and 11800, and at 15200 Hz. The filterplacement corresponds almost exactly with the structural response peaks.Thus the filter placement is more in line with the actual peaks than inthe conventional scheme. Further, the double peaks are accuratelyfiltered, which will result in fewer failed drives.

[0032] In summary, the method in accordance with the present inventionmay be viewed as a method (such as 300) for placing notch filters in aservo control loop (such as 150) in a disc drive (such as 100) thatincludes steps of:

[0033] (a) measuring a structural response for the drive (such as inoperation 302);

[0034] (b) calculating an open loop response for the structural response(such as on operations 304-312);

[0035] (c) determining a frequency peak (such as are shown in trace 504)in the open loop response (such as in operation 314 and 318);

[0036] (d) calculating a notch filter for the frequency peak (such asare shown in trace 504 in operation 324); and

[0037] e) placing the notch filter in the control loop (such as inoperation 310);

[0038] f) recalculating the open loop response (such as in operation312);

[0039] g) repeating steps c through g (such as in operations 310, 312,314, 318, 320, and 324) until no frequency peaks are determined (such asin operation 314) and

[0040] h) changing the gain threshold (such as in operation 330) if nopeaks are determined (such as in operation 314), and then repeatingsteps (c) through (h) (such as in operations 306 through 324) until amaximum number of notches has been placed in the control loop.

[0041] The determining step (c) preferably includes comparing the openloop response to a gain threshold (such as in operation 314) andselecting a peak that exceeds the threshold (such as in operation 318).Further, if no peaks exceed the threshold (such as in operation 314),then the threshold is changed (such as in operation 316) and thecomparing and selecting steps (such as 306 through 324) are preferablyrepeated. Generally there are a predetermined number of notch filtersand steps (a) through (g) above are repeated until the predeterminednotch filters are all placed in the control loop (such as in operation320).

[0042] Alternatively, the present invention may be viewed as a discdrive servo control system test system for setting notch filters in theservo control system control loop of a disc drive (such as 100). Thetest system includes a memory and means (such as operational sequence300) for detecting resonance peaks (such as in traces 502 and 504) in adisc drive open loop response spectrum stored in the memory anddynamically setting a notch filter in the servo control system for eachresonance peak, preferably sequentially in order of maximum amplitudes.The detecting means comprises means for measuring a structural responseof a disc drive (such as in operation 302) and storing the response inthe memory (such as in operations 304 and 306) and means for calculatingthe open loop response for the structural response stored in the memory(such as in operation 312). The test system preferably also includesmeans for determining one of the resonance peaks in the open loopresponse (such as in operation 318), means for calculating a notchfilter for the peak (such as in operation 324), and means for placingthe notch filter in the control loop (such as in operation 310). Morepreferably, the system also has means for recalculating the open loopresponse with the notch filter in the control loop and determininganother peak, calculating another notch filter for the another peak andplacing the another notch filter in the control loop and repeating thedetermining, calculating and placing (such as in operations 314, 318,320, 324, 310, and 312) until no additional peaks are determined.

[0043] The means for determining preferably includes a gain threshold towhich the open loop response is compared to identify the resonance peaks(such as in operation 314).

[0044] Alternatively, the disc drive servo control system test systemfor setting notch filters in the servo control system control loop of adisc drive (such as 100) includes a memory module, a resonance detectionmodule for detecting resonance peaks in a disc drive open loop responsespectrum stored in the memory, and a dynamic notch filter module fordynamically setting a notch filter in the servo control system for eachresonance peak that exceeds a predetermined threshold amplitude in theopen loop response. The resonance detection module comprises a measuringmodule for measuring a structural response of a disc drive and storingthe response in the memory module, and a calculation module forcalculating the open loop response for the structural response stored inthe memory. The test system also preferably has an identification modulefor determining one of the resonance peaks in the open loop response, afilter calculation module for calculating a notch filter for the peak,and a placement module for placing the notch filter in the control loop.

[0045] More particularly, the method of the present invention may beviewed as a method for placing a predetermined number of notch filtersin a data storage device servo control system comprising steps of:

[0046] a) selecting a predetermined frequency range (such as inoperations 304 and 306);

[0047] b) storing a response spectrum of noise generated by the datastorage device in the predetermined frequency range in a memory (such asin operation 308);

[0048] c) calculating an open loop response for the response spectrum(such as in operation 312);

[0049] d) determining whether any noise frequencies in the open loopresponse exceed a selected gain threshold (such as in operation 314);

[0050] e) if there are any noise frequencies that exceed the gainthreshold, calculating a notch filter for each noise frequency (such asin operations 318, 320 and 324);

[0051] f) mathematically applying the notch filter into the servocontrol system (such as in operation 310);

[0052] g) repeating steps (c)-(g) until no noise frequencies exceed thegain threshold;

[0053] h) selecting another frequency range (such as in operation 316);

[0054] i) if the another frequency range is less than a maximum range(such as in operation 326), repeating steps (c) through (i) (such as inoperations 306 through 314);

[0055] j) reducing the gain threshold (such as in operations 326-330);and

[0056] k) repeating steps (c)-(j) until the predetermined number ofnotch filters have been placed (such as in operations 320 and 332).

[0057] It will be clear that the present invention is well adapted toattain the ends and advantages mentioned as well as those inherenttherein. While a presently preferred embodiment has been described forpurposes of this disclosure, various changes and modifications may bemade which are well within the scope of the present invention. Forexample, Numerous other changes may be made which will readily suggestthemselves to those skilled in the art and which are encompassed in thespirit of the invention disclosed and as defined in the appended claims.

What is claimed is:
 1. A method for placing notch filters in a servocontrol loop in a disc drive comprising steps of: a) measuring astructural response for the drive; b) calculating an open loop responsefor the structural response; c) determining a frequency peak in the openloop response; d) calculating a notch filter for the frequency peak; ande) placing the notch filter in the control loop; f) recalculating theopen loop response; g) repeating steps c through g until no frequencypeaks are determined; and h) changing the gain threshold if no peaks aredetermined, and repeating steps (c) through (h) until a maximum numberof notches has been placed in the control loop.
 2. The method accordingto claim 1 wherein the determining step (c) comprises steps of: (c)(i)comparing the open loop response to a gain threshold; and (c)(ii)selecting a peak that exceeds the threshold.
 3. The method according toclaim 2 further comprising a step of: (c)(iii) if no peaks exceed thethreshold, then changing the threshold and repeating steps (c)i and(c)(ii).
 4. The method according to claim 1 wherein there are apredetermined number of notch filters and steps (a) through (h) arerepeated until the predetermined number of notch filters are placed inthe control loop.
 5. A disc drive servo control system test system forsetting notch filters in the servo control system control loop of a discdrive, the test system comprising: a memory; and means for detectingresonance peaks in a disc drive open loop response spectrum stored inthe memory and dynamically setting a notch filter in the servo controlsystem for each resonance peak sequentially in order of resonancemagnitude.
 6. The test system according to claim 5 wherein the detectingmeans comprises: means for measuring a structural response of a discdrive and storing the response in the memory; and means for calculatingthe open loop response for the structural response stored in the memory.7. The test system according to claim 6 further comprising: means fordetermining a maximum one of the resonance peaks in the open loopresponse; means for calculating a notch filter for the peak; and meansfor placing the notch filter in the control loop.
 8. The systemaccording to claim 7 further comprising: means for recalculating theopen loop response with the notch filter in the control loop anddetermining another maximum peak, calculating another notch filter forthe another peak and placing the another notch filter in the controlloop and repeating the determining, calculating and placing until noadditional peaks are determined.
 9. The system according to claim 8wherein the means for determining includes an adjustable gain thresholdto which the open loop response is compared to identify the resonancepeaks, wherein the threshold is iteratively reduced in order tosequentially identify maximum peaks.
 11. A disc drive servo controlsystem test system for setting notch filters in the servo control systemcontrol loop of a disc drive, the test system comprising: a memorymodule; a resonance detection module for detecting resonance peaks in adisc drive open loop response spectrum stored in the memory; and adynamic notch filter module for dynamically setting a notch filter inthe servo control system for each resonance peak that exceeds apredetermined threshold amplitude in the open loop response in order ofresonance peak amplitude.
 12. The test system according to claim 11wherein the resonance detection module comprises: a measuring module formeasuring a structural response of a disc drive and storing the responsein the memory module; and a calculation module for calculating the openloop response for the structural response stored in the memory.
 13. Thetest system according to claim 12 further comprising: an identificationmodule for determining a maximum one of the resonance peaks in the openloop response; a filter calculation module for calculating a notchfilter for the peak; and a placement module for placing the notch filterin the control loop.
 14. A method for placing a predetermined number ofnotch filters in a data storage device servo control system comprisingsteps of: a) selecting a predetermined frequency range; b) storing aresponse spectrum of noise generated by the data storage device in thepredetermined frequency range in a memory; c) calculating an open loopresponse for the response spectrum; d) determining whether any noisefrequencies in the open loop response exceed a selected gain threshold;e) if there are any noise frequencies that exceed the gain threshold,calculating a notch filter for each noise frequency; f) mathematicallyapplying the notch filter into the servo control system; g) repeatingsteps (c)-(g) until no noise frequencies exceed the gain threshold; h)select another frequency range; i) if the another frequency range isless than a maximum range, repeat steps c through i; j) reduce the gainthreshold; and k) repeat steps c-j until the predetermined number ofnotch filters have been placed.